//202.快乐数
class Solution1 {
    //定义bitSum方法 返回n这个数每一位上的平方和
    public int bitSum(int n){
        int sum = 0;
        while(n != 0){
            int t = n % 10;//求每个数的最后一位
            sum += t * t;
            n /= 10;//把最后一位去掉
        }
        return sum;
    }

    public boolean isHappy(int n) {
        //定义快慢指针，快的一次走两步，慢的一次走一步
        int slow = n;
        int fast = bitSum(n);//fast指向第二个数
        while (slow != fast){
            slow = bitSum(slow);//一次走一步
            fast = bitSum(bitSum(fast));//一次走两步
        }
        return slow == 1;
    }
}